package com.xinqi.modules.course.clazz.dto.req;

import com.xinqi.common.green.annotation.Text;
import com.xinqi.modules.course.course.enums.ClassAuditEnum;
import io.swagger.v3.oas.annotations.media.Schema;
import lombok.Data;

import javax.validation.constraints.NotBlank;
import javax.validation.constraints.NotNull;
import java.io.Serializable;
import java.util.Collections;
import java.util.List;

/**
 * 班级表-请求对象
 *
 * @author: system
 * @date: 2023/01/17
 */
@Data
@Schema(description = "班级表-新增")
public class ClassCreateDTO implements Serializable {

    /**
     * 课程ID
     */
    private Long courseId;
    /**
     * 班级名称
     */
    @Text
    @NotBlank(message = "请输入班级名称")
    private String name;

    /**
     * 教学学年
     */
    private String teachingYear;

    /**
     * 教学学期
     */
    @NotBlank(message = "请选择学期")
    private String teachingNode;

    /**
     * 教学地点
     */
    private String teachingAddress;

    /**
     * AUTO("AUTO", "自动免审核"),
     * MANUAL("MANUAL", "手动审核");
     */
    @NotNull(message = "缺少审核方式")
    private ClassAuditEnum auditMethod;

    /**
     * 是否允许退课
     */
    private Integer isDropClass;

    /**
     * 审核信息，例如：姓名，手机号等
     */
    private List<String> auditInfo = Collections.emptyList();

    /**
     * 扩展字段
     */
    private String extend;
}
